Aufgabensatz 2: Datenqualität, Datenquellen & REST-API

Vertiefende 90-Minuten-Aufgabe mit wenig Wiederholung und interaktiven Zusatzseiten

Rahmen

Dauer: ca. 90 MinutenNiveau: AufbauendZiel: API-orientiertes Denken

Du arbeitest für ein kleines Handelsunternehmen. Die Produktdaten kommen nicht mehr sauber aus einer einzigen Datei, sondern aus mehreren Quellen mit unterschiedlichen Qualitätsproblemen. Deine Aufgabe ist es, die Daten zu prüfen, zu vereinheitlichen und daraus sinnvolle API-Regeln abzuleiten.

Empfohlene Reihenfolge: Erst die Leitsatzaufgaben bearbeiten, danach die interaktiven Zusatzseiten nutzen. Die Zusatzseiten sind nicht als Ersatz gedacht, sondern als Selbstkontrolle.

Ausgangsdaten

Du erhältst aus einer CSV-Datei folgende Produktdaten. Einige Werte sind absichtlich problematisch.

id,name,kategorie,preis,lagerbestand,aktiv
101,USB-C Kabel,Zubehör,9.99,80,true
102,Notebook-Ständer,Zubehör,24,15,true
103,Webcam,Hardware,49.90,0,false
103,Webcam Pro,Hardware,79.90,8,true
104,Monitorarm,Hardware,"39,99",12,true
105,,Zubehör,12.50,20,true
106,Laptop,Hardware,899.99,-3,true

Zusätzlich liefert ein externer Lieferant folgende JSON-Daten:

{
  "supplier": "NordTech",
  "updatedAt": "2026-06-15T10:30:00Z",
  "items": [
    { "sku": "A-100", "title": "USB-C Kabel", "priceCent": 999, "stock": 80, "categoryCode": "ACC" },
    { "sku": "A-200", "title": "Webcam Pro", "priceCent": 7990, "stock": 8, "categoryCode": "HW" }
  ]
}

5 Leitsatzaufgaben

1. Datenqualität prüfen

Leitsatz: Nicht jede Datei, die sich öffnen lässt, enthält automatisch verlässliche Daten.

  1. Markiere mindestens fünf konkrete Datenprobleme in der CSV-Datei.
  2. Ordne jedes Problem einer Kategorie zu: Syntax, Datentyp, Pflichtfeld, Wertebereich, Eindeutigkeit oder Fachlogik.
  3. Entscheide, welche Probleme einen Import vollständig stoppen sollten und welche nur eine Warnung erzeugen.
  4. Formuliere drei Validierungsregeln, die künftig automatisch geprüft werden sollen.

2. Lieferanten-JSON in ein API-Modell überführen

Leitsatz: Externe Daten müssen oft gemappt werden, bevor sie intern nutzbar sind.

  1. Erstelle eine Mapping-Tabelle von Lieferantenfeldern zu internen Produktfeldern.
  2. Wandle priceCent in einen Preis mit Dezimalzahl um.
  3. Übersetze categoryCode: ACC → Zubehör, HW → Hardware.
  4. Erzeuge für beide Lieferantenprodukte ein internes JSON-Array mit den Feldern id, name, kategorie, preis, lagerbestand, aktiv, quelle.

3. API-Filter, Sortierung und Pagination planen

Leitsatz: Eine API sollte nicht immer ungefiltert alle Daten zurückgeben.

  1. Entwirf einen Endpunkt, der nur aktive Produkte aus der Kategorie Hardware liefert.
  2. Ergänze einen Query-Parameter für eine Preisobergrenze.
  3. Ergänze Query-Parameter für Sortierung nach Preis absteigend.
  4. Ergänze Pagination mit page und limit.
  5. Erkläre, warum Pagination bei großen Datenmengen wichtig ist.

4. API-Vertrag für neue Produkte definieren

Leitsatz: Eine REST-API braucht klare Erwartungen an eingehende Daten.

  1. Definiere, welche Felder beim Anlegen eines Produkts per POST /produkte Pflichtfelder sind.
  2. Formuliere Regeln für preis, lagerbestand und name.
  3. Erstelle einen gültigen Beispiel-Request-Body.
  4. Erstelle einen ungültigen Beispiel-Request-Body mit mindestens drei Fehlern.
  5. Formuliere eine sinnvolle Fehlerantwort mit Statuscode 400 Bad Request.

5. Daten aus mehreren Quellen zusammenführen

Leitsatz: Beim Zusammenführen von Daten braucht man Regeln für Konflikte.

  1. Vergleiche CSV-Produkt 103 mit dem Lieferantenprodukt Webcam Pro.
  2. Lege fest, welche Quelle bei Preis, Lagerbestand und Aktiv-Status Vorrang haben soll.
  3. Beschreibe eine Konfliktregel für doppelte IDs.
  4. Entwirf ein kurzes Importprotokoll: Wie sollte dokumentiert werden, welche Datensätze importiert, übersprungen oder korrigiert wurden?
  5. Zusatz: Skizziere einen Endpunkt, über den ein Admin ein Importprotokoll abrufen kann.

Abschlussreflexion

Leitsatz: Datenqualität ist eine technische und fachliche Aufgabe.

  1. Welche Prüfung würdest du immer automatisieren?
  2. Welche Entscheidung sollte eher ein Mensch treffen?
  3. Was kann passieren, wenn eine API fehlerhafte Daten ohne Prüfung annimmt?
Nutze für die Selbstkontrolle die Zusatzseiten unten. Besonders hilfreich sind der CSV-Datenqualitätsprüfer und der API-Endpunkt-Trainer.

Interaktive Zusatzseiten